package com.bicntech.system.dto;

import com.bicntech.common.core.domain.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.List;

@Data
public class OutfieldVehicleEquipmentInspectDTO extends BaseEntity {

    /**
     * 检查单编号
     */
    private Long id;

    /**
     * 检查单类型 1接机工作 2送机工作  3维修检查  4长短停及航后离机检查项目
     */
    private Integer type;

    /**
     * 检查单状态 1待检查  2待复核  3 已复核 4 废弃
     */
    private Integer state;

    /**
     * 检查日期
     */
    private LocalDateTime inspectDate;

    /**
     * 航班号
     */
    private String flightNumber;

    /**
     * 机号
     */
    private String machineNumber;

    /**
     * 停机位
     */
    private String stand;

    /**
     * 观察员--检查项
     */
    private List<OutfieldInspectDTO> workerInspectTerm;

    /**
     * 审核员--检查项
     */
    private List<OutfieldInspectDTO> reviewerInspectTerm;

    /**
     * 复核者
     */
    private String reviewer;

    /**
     * 工作者
     */
    private String worker;

    /**
     * 复核时间
     */
    private LocalDateTime reviewerTime;

    /**
     * 复核时间戳
     */
    private Long reviewerTimestamp;

    public Long getReviewerTimestamp() {
        return reviewerTime != null ? reviewerTime.toInstant(ZoneOffset.of("+8")).toEpochMilli() : null;
    }

    /**
     * 检查时间
     */
    private LocalDateTime inspectTime;

    /**
     * 检查时间戳
     */
    private Long inspectTimestamp;

    /**
     * 版本号
     */
    private Integer version;

    public Long getInspectTimestamp() {
        return inspectTime != null ? inspectTime.toInstant(ZoneOffset.of("+8")).toEpochMilli() : null;
    }

}
